ProSonic-NE
SPRITE FORMAT SPECIFICATIONS



// The sign bit is a flag bit that can be used for various things.

unsigned short  NumberOfSprites         // 
unsigned short  NumberOfAnimations      // 
signed short    SpriteSheetSizeX        // flag: ?
signed short    SpriteSheetSizeY        // flag: ?

Data[NumberOfSprites]
{
    signed short        SpriteSizeXL    // flag: mirror
    signed short        SpriteSizeXR    // flag: ?
    signed short        SpriteSizeYT    // flag: flip
    signed short        SpriteSizeYB    // flag: ?
}

Data[NumberOfAnimations]
{
    unsigned char       NumberOfFrames  // 
    unsigned char       AnimationSpeed  // 
    
    Data[NumberOfFrames]
    {
        unsigned short	Sprite          // 
    }
}



Sprite data (size (in longs) = SpriteSheetSizeX * SpriteSheetSizeY)

ByteC = 8 bits // if > 0, use color cycler instead of RGB color
ByteR = 6 bits
ByteG = 6 bits
ByteB = 6 bits

Total = 18 bits per color



When RGB value is FFFFFF, don't draw the pixel. Otherwise, always draw it.
When RGB value is FEFEFE, make the pixel the same color as 0 in the palette.